package   org.eliza.base.color

val basic2nameMap = hashMapOf<UByte, String>(
    30u.toUByte() to "black",
    31u.toUByte() to "red",
    32u.toUByte() to "green",
    33u.toUByte() to "yellow",
    34u.toUByte() to "blue",
    35u.toUByte() to "magenta",
    36u.toUByte() to "cyan",
    37u.toUByte() to "white",
// hi color code
    90u.toUByte() to "lightBlack",
    91u.toUByte() to "lightRed",
    92u.toUByte() to "lightGreen",
    93u.toUByte() to "lightYellow",
    94u.toUByte() to "lightBlue",
    95u.toUByte() to "lightMagenta",
    96u.toUByte() to "lightCyan",
    97u.toUByte() to "lightWhite",
// options
    0u.toUByte() to "reset",
    1u.toUByte() to "bold",
    2u.toUByte() to "fuzzy",
    3u.toUByte() to "italic",
    4u.toUByte() to "underscore",
    5u.toUByte() to "blink",
    7u.toUByte() to "reverse",
    8u.toUByte() to "concealed",
)

// FgColors foreground colors map
var FgColors = hashMapOf(
    "black" to FgBlack,
    "red" to FgRed,
    "green" to FgGreen,
    "yellow" to FgYellow,
    "blue" to FgBlue,
    "magenta" to FgMagenta,
    "cyan" to FgCyan,
    "white" to FgWhite,
    "default" to FgDefault,
)

// BgColors background colors map
var BgColors = hashMapOf(
    "black" to BgBlack,
    "red" to BgRed,
    "green" to BgGreen,
    "yellow" to BgYellow,
    "blue" to BgBlue,
    "magenta" to BgMagenta,
    "cyan" to BgCyan,
    "white" to BgWhite,
    "default" to BgDefault,
)

// ExFgColors extra foreground colors map
var ExFgColors = hashMapOf(
    "darkGray" to FgDarkGray,
    "lightRed" to FgLightRed,
    "lightGreen" to FgLightGreen,
    "lightYellow" to FgLightYellow,
    "lightBlue" to FgLightBlue,
    "lightMagenta" to FgLightMagenta,
    "lightCyan" to FgLightCyan,
    "lightWhite" to FgLightWhite,
)

// ExBgColors extra background colors map
var ExBgColors = hashMapOf(
    "darkGray" to BgDarkGray,
    "lightRed" to BgLightRed,
    "lightGreen" to BgLightGreen,
    "lightYellow" to BgLightYellow,
    "lightBlue" to BgLightBlue,
    "lightMagenta" to BgLightMagenta,
    "lightCyan" to BgLightCyan,
    "lightWhite" to BgLightWhite,
)

// AllOptions color options map
var AllOptions = hashMapOf(
    "reset" to OpReset,
    "bold" to OpBold,
    "fuzzy" to OpFuzzy,
    "italic" to OpItalic,
    "underscore" to OpUnderscore,
    "blink" to OpBlink,
    "reverse" to OpReverse,
    "concealed" to OpConcealed,
)
